package cn.iocoder.yudao.module.def.dal.mysql.area;

import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.module.def.dal.dataobject.area.AreaDO;
import org.apache.ibatis.annotations.Mapper;
import cn.iocoder.yudao.module.def.controller.admin.area.vo.*;

/**
 * 地区 Mapper
 *
 * @author 芋道源码
 */
@Mapper
public interface DefAreaMapper extends BaseMapperX<AreaDO> {

    default PageResult<AreaDO> selectPage(AreaPageReqVO reqVO) {
        return selectPage(reqVO, new LambdaQueryWrapperX<AreaDO>()
                .eqIfPresent(AreaDO::getPid, reqVO.getPid())
                .likeIfPresent(AreaDO::getShortname, reqVO.getShortname())
                .likeIfPresent(AreaDO::getName, reqVO.getName())
                .likeIfPresent(AreaDO::getMergename, reqVO.getMergename())
                .eqIfPresent(AreaDO::getLevel, reqVO.getLevel())
                .eqIfPresent(AreaDO::getLng, reqVO.getLng())
                .eqIfPresent(AreaDO::getLat, reqVO.getLat())
                .orderByDesc(AreaDO::getId));
    }

}